<?php
// Validacion para evitar que se acceda directamente a esta web. Se redirige a la principal de instalacion.
if(!isset($_SERVER["HTTP_REFERER"]))
{
    header("Location: $PHP_SELF?s=1");
    return;
}

if(!strpos($_SERVER["HTTP_REFERER"], $_SERVER["PHP_SELF"]))
{
    header("Location: $PHP_SELF?s=1");
    return;
}

// Comprobamos que hayan venido los datos necesarios.
if(!isset($_POST["servidor"]) || !isset($_POST["usuario"]) || !isset($_POST["bbdd"]))
{
    header("Location: $PHP_SELF?s=1&e=no_data");
    return;
}

if(empty($_POST["servidor"]) || empty($_POST["usuario"]) || empty($_POST["bbdd"]))
{
    header("Location: $PHP_SELF?s=1&e=no_data");
    return;
}

$pw = null;
if(!empty($_POST["pw"]))
    $pw = $_POST["pw"];

// Conectamos a la base de datos.
$servidor	=	$_POST["servidor"];
$usuario	=	$_POST["usuario"];
$bbdd		=	$_POST["bbdd"];
$conexion	=	@mysql_connect($servidor,$usuario,$pw);

// Comprobamos si hemos podido conectar.
if(!$conexion)
{
	// Comprobamos la naturaleza del error para indicar el error oportuno.
    switch (mysql_errno())
    {
        case 104	:	$e = "wrong";
						break;
        case 2005	:	$e = "no_host";
						break;
        default		:	$e = "unknow";
						break;
    }
    // Redirigimos mostrando el error.
    header("Location: $PHP_SELF?s=1&e=".$e);
    return;
}
// Comprobamos que hemos podido seleccionar la base de datos.
if(!mysql_select_db($bbdd))
{
	// Controlamos la naturaleza del error.
    switch (mysql_errno())
    {
        case 1049	:	$e = "wrong_db";
						break;
        default		:	$e = "unknow";
						break;
    }
    // Redirigimos a la pagina de error.
    header("Location: $PHP_SELF?s=1&e=".$e);
    return;
}
// Guardamos en un archivo temporal la configuracionn para la conexionn a la bbdd.
$archivo = fopen("tmp_config","w") or die('No se ha podido crear el archivo de configuraci&oacute;n temporal.');
$config = "servidor = $servidor
usuario = $usuario
clave = $pw
base_de_datos = $bbdd
";
fwrite($archivo, $config);
fclose($archivo);

// Redirigimos al siguiente paso.
header("Location: $PHP_SELF?s=3");
?>